/*********************************************************
 *  Copyright (c) 2011 by Web Information Systems (WIS) Group, 
 *  Delft University of Technology.
 *  Qi Gao, http://wis.ewi.tudelft.nl/index.php/home-qi-gao
 *  
 *  Some rights reserved.
 *
 *  Contact: q.gao@tudelft.nl
 *
 **********************************************************/
package org.persweb.genius.model;

import java.sql.Timestamp;
import java.util.Collection;


/**
 * @author Qi Gao <a href="mailto:q.gao@tudelft.nl">q.gao@tudelft.nl</a>
 * @version created on Jul 6, 2011 11:49:21 AM
 */
public class PriorFilterImpl implements Filter {

	private Collection<Integer> userIds = null;
	private Integer userId = null;
	private Timestamp startTime = null;
	private Timestamp endTime = null;
	private Collection<Query> queries = null;


	/**
	 * @param userIds
	 * @param queries
	 */
	public PriorFilterImpl(Collection<Integer> userIds,
			Collection<Query> queries) {
		super();
		this.userIds = userIds;
		this.queries = queries;
	}



	/**
	 * @param userIds
	 * @param startTime
	 * @param endTime
	 */
	public PriorFilterImpl(Collection<Integer> userIds, Timestamp startTime,
			Timestamp endTime) {
		super();
		this.userIds = userIds;
		this.startTime = startTime;
		this.endTime = endTime;
	}
	
	/**
	 * @param userIds
	 * @param startTime
	 * @param endTime
	 * @param queries
	 */
	public PriorFilterImpl(Collection<Integer> userIds, Timestamp startTime,
			Timestamp endTime, Collection<Query> queries) {
		super();
		this.userIds = userIds;
		this.startTime = startTime;
		this.endTime = endTime;
		this.queries = queries;
	}

	/**
	 * @param users
	 */
	public PriorFilterImpl(Collection<Integer> userIds) {
		super();
		this.userIds = userIds;
	}

	/* (non-Javadoc)
	 * @see org.persweb.genius.filter.Filter#getEndTime()
	 */
	@Override
	public Timestamp getEndTime() {
		return endTime;
	}

	/* (non-Javadoc)
	 * @see org.persweb.genius.filter.Filter#getQueries()
	 */
	@Override
	public Collection<Query> getQueries() {
		return queries;
	}

	/* (non-Javadoc)
	 * @see org.persweb.genius.filter.Filter#getStartTime()
	 */
	@Override
	public Timestamp getStartTime() {
		return startTime;
	}

	/* (non-Javadoc)
	 * @see org.persweb.genius.filter.Filter#getUserIds()
	 */
	@Override
	public Collection<Integer> getUserIds() {
		return userIds;
	}

	/* (non-Javadoc)
	 * @see org.persweb.genius.filter.Filter#setEndTime(java.sql.Timestamp)
	 */
	@Override
	public void setEndTime(Timestamp endTime) {
		this.endTime = endTime;
	}

	/* (non-Javadoc)
	 * @see org.persweb.genius.filter.Filter#setQueries(java.util.Collection)
	 */
	@Override
	public void setQueries(Collection<Query> queries) {
		this.queries = queries;
	}

	/* (non-Javadoc)
	 * @see org.persweb.genius.filter.Filter#setStartTime(java.sql.Timestamp)
	 */
	@Override
	public void setStartTime(Timestamp startTime) {
		this.startTime = startTime;
	}

	/* (non-Javadoc)
	 * @see org.persweb.genius.filter.Filter#setUserIds(java.util.Collection)
	 */
	@Override
	public void setUserIds(Collection<Integer> userIds) {
		this.userIds = userIds;
	}



	/* (non-Javadoc)
	 * @see org.persweb.genius.model.Filter#getUserId()
	 */
	@Override
	public Integer getUserId() {
		return this.userId;
	}



	/* (non-Javadoc)
	 * @see org.persweb.genius.model.Filter#setUserId(java.lang.Integer)
	 */
	@Override
	public void setUserId(Integer userId) {
		this.userId = userId;
	}

}
